﻿Imports System.Data.Odbc
Imports System.Data.SqlClient
Imports System.IO
Imports System.Drawing
Imports System.Drawing.Printing


Public Class frmModuloCotizaciones
    Dim Bitacora As New clsActividad
    Dim Usuario As New clsUsuarioPrincipal

    Private mstrCondicion As String

    Private CodigosProveedores As New DataTable("Codigos")
    Private NombresProveedores As New DataTable("Nombres")
    Private CadenasAutocompletado As New AutoCompleteStringCollection
    Private CadenasAutocompletado2 As New AutoCompleteStringCollection
  
    Private prtSettings As PrinterSettings
    Private prtDoc1 As PrintDocument
    Private prtDoc2 As PrintDocument
    Private prtDoc3 As PrintDocument
    Private prtFont As System.Drawing.Font
    Private lineaActual As Integer

    Dim Documentos As New clsCot_Documentos

    Private minuto As Integer = 0
    Private segundo As Integer = 0
    Private milisegundo As Integer = 0
    Private minutoM As Integer = 0
    Private segundoM As Integer = 0
    Private milisegundoM As Integer = 0


    Public WriteOnly Property Condicion() As String
        Set(ByVal value As String)
            mstrCondicion = value
        End Set
    End Property
    Private Sub frmModuloMantenimiento_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        If dgCotizaciones.Rows(0).Cells(2).Value = "" Then
            Call SetSqlCitra("DELETE FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        End If

        Bitacora.RegistraActividad("Cerró al Módulo de Cotizaciones")
        Usuario.Ubicacion("Ventana Principal")

        CodigosProveedores.PrimaryKey = Nothing
        NombresProveedores.PrimaryKey = Nothing

        CodigosProveedores.Clear()
        CodigosProveedores.Columns.Clear()
        NombresProveedores.Clear()
        NombresProveedores.Columns.Clear()

        'CierraSDK()

        frmMain.statusActividad.Text = " "
        Application.DoEvents()
    End Sub
    Private Sub frmModuloCotizaciones_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStrip1.Cursor = Cursors.Hand
        ToolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        datFecha.Value = Now()

        Dim Folio As Integer = BuscarIntDatoCitra("SELECT MAX(Folio) as Folio FROM Cot_Documentos") + 1

        txtFolio.Text = Folio
        'txtFolio.Text = 0

        Documentos.Folio = txtFolio.Text
        Documentos.Fecha = datFecha.Value
        Documentos.NoCotizaciones = 0
        Documentos.Procesada = 0
        Documentos.Concepto = ""
        Documentos.Insertar()

        chImprimir.Checked = True

        Bitacora.RegistraActividad("Ingresó al Módulo de Cotizaciones")
        Usuario.Ubicacion("Módulo de Cotizaciones")

        'CargaConceptos()
        'CargaSDK()

        CargaCodigosProductos()
        Dim claves(0) As DataColumn
        claves(0) = CodigosProveedores.Columns("Codigo")
        CodigosProveedores.PrimaryKey = claves

        For Each Codigo In CodigosProveedores.Rows
            CadenasAutocompletado.Add(Codigo("Codigo"))
        Next

        'CargaNombresProductos()
        Dim Llaves(0) As DataColumn
        Llaves(0) = NombresProveedores.Columns("Nombre")
        'NombresProductos.PrimaryKey = Llaves

        For Each Nombre In NombresProveedores.Rows
            CadenasAutocompletado2.Add(Nombre("Nombre"))
        Next

        frmMain.statusActividad.Text = ": Módulo de Cotizaciones"
    End Sub
    Sub CargaConceptos()
        Windows.Forms.Cursor.Current = Cursors.WaitCursor
        lstConcepto.Items.Clear()

        Dim cnconn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Try
            cnconn.ConnectionString = CitraConnection
            strSql = "SELECT cNombreC01 FROM MGW10006 WHERE cIdDocum01=17"

            cmdBuscar.Connection = cnconn
            cmdBuscar.CommandText = strSql

            cnconn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                lstConcepto.Items.Add(rdBuscar("cNombreC01").ToString.Trim)
                frmMain.statusActividad.Text = ": Preparando"
            Loop
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
        Finally
            If cnconn.State = ConnectionState.Open Then
                cnconn.Close()
            End If
        End Try

    End Sub
    Sub CargaCodigosProductos()
        CodigosProveedores.Columns.Add("Codigo")
        NombresProveedores.Columns.Add("Nombre")

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = ""
        strSql = "Select cCodigoC01,cRazonSo01"
        strSql = strSql & " From MGW10002 WHERE cEstatus=1 AND cTipoCli01<>1"
        strSql = strSql & " GROUP BY cCodigoC01,cRazonSo01 order by cCodigoC01"

        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            CodigosProveedores.Rows.Add(rdBuscar("cCodigoC01").ToString.Trim)
            NombresProveedores.Rows.Add(rdBuscar("cRazonSo01").ToString.Trim)
        Loop


    End Sub
    Sub CargaSDK()
        'Carga Libreria
        Dim RutaDLL As String = ""
        Dim cCodigoBol As String = ""
        Dim cCodigoASE As String = ""

        Try

            Dim key As Microsoft.Win32.RegistryKey
            key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(gsRegPath)
            RutaDLL = CType(key.GetValue("RutaDLL"), String)
            cCodigoBol = CType(key.GetValue("cCodigoBol"), String)
            cCodigoASE = CType(key.GetValue("cCodigoASE"), String)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
            MsgBox("Se interrumpio el proceso", MsgBoxStyle.Exclamation, "Aviso")
        End Try

        'Carga SDK
        Dim lError As Integer
        Try
            frmMain.statusActividad.Text = ": Cargando SDK de AdminPAQ"
            Application.DoEvents()

            Directory.SetCurrentDirectory(RutaDLL)
            lError = SDK_AdminPAQ.fInicializaSDK
            If lError <> 0 Then
                MensajeError(lError)
                End
            End If
        Catch ex As Exception
            MsgBox("No se pudo cargar el SDK de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
        End Try

        'Abre Empresa de AdminPAQ
        Try
            frmMain.statusActividad.Text = ": Abriendo empresa de AdminPAQ"
            Application.DoEvents()
            lError = SDK_AdminPAQ.fAbreEmpresa(Comercial)
            If lError <> 0 Then
                MensajeError(lError)
            End If
        Catch ex As Exception
            MsgBox("No se pudo abrir la empresa de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
        End Try
    End Sub
    Sub CierraSDK()
        Try
            frmMain.statusActividad.Text = ": Cerrando SDK de AdminPAQ"
            Application.DoEvents()
            SDK_AdminPAQ.fCierraEmpresa()
            SDK_AdminPAQ.fTerminaSDK()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
            MsgBox("No se pudo cerrar el SDK de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
        End Try
    End Sub
    Sub CargaCotizaciones()
        dgCotizaciones.Rows.Clear()
        dgCotizaciones.Rows.Add(10)

        For j = 0 To 9
            dgCotizaciones.Rows(j).Cells(0).Value = j + 1
        Next

        Dim cnconn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & Documentos.Folio)

        Try
            cnconn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM Cot_Generales WHERE IdDocumento=" & IdDocumento & " ORDER BY NoCotizacion"

            cmdBuscar.Connection = cnconn
            cmdBuscar.CommandText = strSql

            cnconn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Dim I As Integer = 0
            Dim Fecha As Date


            Do While rdBuscar.Read()
                'dgCotizaciones.Rows(I).Cells(0).Value = rdBuscar("NoCotizacion")
                Fecha = datFecha.Value
                dgCotizaciones.Rows(I).Cells(1).Value = rdBuscar("Codigo")
                dgCotizaciones.Rows(I).Cells(2).Value = rdBuscar("RazonSocial")
                dgCotizaciones.Rows(I).Cells(3).Value = rdBuscar("SubTotal")
                dgCotizaciones.Rows(I).Cells(4).Value = rdBuscar("IVA")
                dgCotizaciones.Rows(I).Cells(5).Value = rdBuscar("tOTAL")
                I = I + 1
            Loop
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
        Finally
            If cnconn.State = ConnectionState.Open Then
                cnconn.Close()
            End If
        End Try

        dgCotizaciones.Columns(3).DefaultCellStyle.Format = "N2"
        dgCotizaciones.Columns(4).DefaultCellStyle.Format = "N2"
        dgCotizaciones.Columns(5).DefaultCellStyle.Format = "N2"

        dgCotizaciones.Columns(0).ReadOnly = True
        dgCotizaciones.Columns(3).ReadOnly = True
        dgCotizaciones.Columns(4).ReadOnly = True
        dgCotizaciones.Columns(5).ReadOnly = True

    End Sub

    Private Sub txtFolio_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFolio.TextChanged
        Actualizar()
       
    End Sub
    Sub Actualizar()
        Dim intFolio As Integer = 0
        If Me.txtFolio.Text <> "" Then
            intFolio = txtFolio.Text
            Documentos.Folio = txtFolio.Text
        Else
            intFolio = 0
            Documentos.Folio = 0

        End If
        Documentos.Buscar()
        Scatter()
        txtFolio.Text = intFolio
        Documentos.Folio = txtFolio.Text
    End Sub
    Private Sub Scatter()
        datFecha.Value = Documentos.Fecha
        lstConcepto.Text = Documentos.Concepto

        Select Case Documentos.Procesada
            Case 0
                txtStatus.Text = "EN CAPTURA"
            Case 1
                txtStatus.Text = "PENDIENTE"
            Case 2
                txtStatus.Text = "PROCESADA"
            Case 3
                txtStatus.Text = "CANCELADA"
        End Select

        CargaCotizaciones()

    End Sub

    Private Sub txtStatus_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStatus.TextChanged
        If Trim(Me.txtStatus.Text) = "PENDIENTE" Then
            txtStatus.BackColor = Color.Yellow
        ElseIf Trim(Me.txtStatus.Text) = "PROCESADA" Then
            Me.txtStatus.BackColor = Color.Green
        ElseIf Trim(Me.txtStatus.Text) = "CANCELADA" Then
            Me.txtStatus.BackColor = Color.Red
        ElseIf Trim(Me.txtStatus.Text) = "EN CAPTURA" Then
            Me.txtStatus.BackColor = Color.Blue
        End If
    End Sub
    Private Sub ControlEdicion(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs)
        If dgCotizaciones.CurrentCell.ColumnIndex = 1 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = CadenasAutocompletado
        End If
        If dgCotizaciones.CurrentCell.ColumnIndex = 2 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = CadenasAutocompletado2
        End If

        If dgCotizaciones.CurrentCell.ColumnIndex > 2 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = Nothing
            'DirectCast(e.Control, TextBox).AutoCompleteSource = Nothing
            'DirectCast(e.Control, TextBox).AutoCompleteCustomSource = Nothing
        End If
    End Sub
    Private Sub FinDeEdicion(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs)
        'Añadir aqui las validaciones necesarias


        Try
            Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
            Dim Status As Integer = BuscarIntDatoCitra("SELECT Procesada FROM Cot_Documentos WHERE IdDocumento=" & IdDocumento)

            If Status = 0 Then
                If dgCotizaciones.CurrentCell.ColumnIndex = 1 Then
                    'Dim _Producto As DataRow = NombresProductos.Rows.Find(Me.dgProductos(e.ColumnIndex, e.RowIndex).Value)
                    'Me.dgProductos(0, e.RowIndex).Value = _Producto("Nombre")
                    dgCotizaciones.CurrentRow.Cells(2).Value = BuscarStrDatoCitra("MGW10002", "CRAZONSO01", "UPPER(CCODIGOC01)='" & UCase(dgCotizaciones.CurrentRow.Cells(1).Value.ToString.Trim) & "'")
                ElseIf dgCotizaciones.CurrentCell.ColumnIndex = 2 Then
                    dgCotizaciones.CurrentRow.Cells(1).Value = BuscarStrDatoCitra("MGW10002", "CCODIGOC01", "UPPER(CRAZONSO01)='" & UCase(dgCotizaciones.CurrentRow.Cells(2).Value.ToString.Trim) & "'")
                End If
            Else
                MsgBox("No se pueden agregar cotizaciones porque ya ha sido cerrado el documento", MsgBoxStyle.Exclamation, "Aviso")
                dgCotizaciones.CurrentRow.Cells(2).Value = ""
                dgCotizaciones.CurrentRow.Cells(1).Value = ""
            End If

        Catch ex As Exception
            '.... Accion en caso de excepcion
        End Try
    End Sub
    Private Sub dgEmpresas_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
        'CARGA DETALLE DE PRODUCTOS
        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        Dim Id As Integer = BuscarIntDatoCitra("SELECT IdGeneral FROM Cot_Generales WHERE NoCotizacion=" & dgCotizaciones.CurrentRow.Cells(0).Value & " AND IdDocumento=" & IdDocumento)
        Dim Status As Integer = BuscarIntDatoCitra("SELECT Procesada FROM Cot_Documentos WHERE IdDocumento=" & IdDocumento)

        If Status = 0 Then
            If Id = 0 Then
                Dim Generales As New clsCot_Generales
                Generales.IdDocumento = Documentos.IdDocumento
                Generales.IdProveedor = BuscarIntDatoCitra("SELECT cIdClien01 FROM MGW10002 WHERE UPPER(cCodigoC01)='" & UCase(dgCotizaciones.CurrentRow.Cells(1).Value) & "'")
                Generales.Codigo = dgCotizaciones.CurrentRow.Cells(1).Value
                Generales.RazonSocial = dgCotizaciones.CurrentRow.Cells(2).Value
                Generales.NoCotizacion = dgCotizaciones.CurrentRow.Cells(0).Value
                Generales.SubTotal = 0
                Generales.IVA = 0
                Generales.Total = 0
                Generales.Insertar()

                Call SetSqlCitra("UPDATE Cot_Documentos SET NoCotizaciones=NoCotizaciones+1 WHERE IdDocumento=" & Documentos.IdDocumento)

                IdGeneral = Generales.IdGeneral
            Else
                IdGeneral = Id
            End If

            frmCot_Detalle.ShowDialog()
        Else
            MsgBox("No se pueden agregar cotizaciones porque ya ha sido cerrado el documento", MsgBoxStyle.Exclamation, "Aviso")
        End If




    End Sub

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Close()
    End Sub

    Private Sub dgCotizaciones_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        milisegundo += 1
        If milisegundo = 5 Then
            frmCot_Anexos.ShowDialog()
            Timer1.Enabled = False
            milisegundo = 10
        End If
    End Sub
    Sub InicializaTimer()
        milisegundo = 0
    End Sub

    Private Sub VerProductosDeOrdenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerProductosDeOrdenToolStripMenuItem.Click
        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        Dim Id As Integer = BuscarIntDatoCitra("SELECT IdGeneral FROM Cot_Generales WHERE NoCotizacion=" & dgCotizaciones.CurrentRow.Cells(0).Value & " AND IdDocumento=" & IdDocumento)
        If Id = 0 Then
            Dim Generales As New clsCot_Generales
            Generales.IdDocumento = Documentos.IdDocumento
            Generales.IdProveedor = BuscarIntDatoCitra("SELECT cIdClien01 FROM MGW10002 WHERE UPPER(cCodigoC01)='" & UCase(dgCotizaciones.CurrentRow.Cells(1).Value) & "'")
            Generales.Codigo = dgCotizaciones.CurrentRow.Cells(1).Value
            Generales.RazonSocial = dgCotizaciones.CurrentRow.Cells(2).Value
            Generales.NoCotizacion = dgCotizaciones.CurrentRow.Cells(0).Value
            Generales.SubTotal = 0
            Generales.IVA = 0
            Generales.Total = 0
            Generales.Insertar()

            Call SetSqlCitra("UPDATE Cot_Documentos SET NoCotizaciones=NoCotizaciones+1 WHERE IdDocumento=" & Documentos.IdDocumento)

            IdGeneral = Generales.IdGeneral
        Else
            IdGeneral = Id
        End If

        frmCot_Detalle.ShowDialog()
    End Sub

    Private Sub AdjuntarArchivosACotizaciónToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdjuntarArchivosACotizaciónToolStripMenuItem.Click
        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        Dim Id As Integer = BuscarIntDatoCitra("SELECT IdGeneral FROM Cot_Generales WHERE NoCotizacion=" & dgCotizaciones.CurrentRow.Cells(0).Value & " AND IdDocumento=" & IdDocumento)

        IdGeneral = Id

        frmCot_Anexos.ShowDialog()
    End Sub
    Sub DescargarAdjuntos()
        Dim cnconn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        Dim Id As Integer = BuscarIntDatoCitra("SELECT IdGeneral FROM Cot_Generales WHERE NoCotizacion=" & dgCotizaciones.CurrentRow.Cells(0).Value & " AND IdDocumento=" & IdDocumento)

        Try
            cnconn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM Cot_Anexos WHERE IdGeneral=" & Id & " ORDER BY IdAnexo"

            cmdBuscar.Connection = cnconn
            cmdBuscar.CommandText = strSql

            cnconn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Dim I As Integer = 0
            Dim myext As String = ""
            Dim Archivo As String = ""
            Dim Folio As Integer = 0
            Dim IdDocumento_ As Integer = 0
            Dim fs As FileStream
            Dim bw As System.IO.BinaryWriter


            Do While rdBuscar.Read()
                Dim filedata(rdBuscar.GetBytes(2, 0, Nothing, 0, Integer.MaxValue) - 1) As Byte
                rdBuscar.GetBytes(2, 0, filedata, 0, filedata.Length)
                myext = rdBuscar("Extencion")
                IdDocumento_ = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Generales WHERE IdGeneral=" & rdBuscar("IdGeneral"))
                Folio = BuscarIntDatoCitra("SELECT Folio FROM Cot_Documentos WHERE IdDocumento=" & IdDocumento_)
                Archivo = "c:\Cotizacion # " & Folio & " " & rdBuscar("Descripcion") & "." & myext
                'Try
                My.Computer.FileSystem.DeleteFile(Archivo, FileIO.UIOption.AllDialogs, FileIO.RecycleOption.SendToRecycleBin, FileIO.UICancelOption.DoNothing)
                'Catch ex As Exception

                'End Try

                fs = New FileStream(Archivo, FileMode.OpenOrCreate, FileAccess.Write)
                bw = New System.IO.BinaryWriter(fs)
                bw.Write(filedata)
                bw.Flush()
                bw.Close()
                fs.Close()
                I = I + 1

            Loop

            If I = 0 Then
                MsgBox("La cotizacion no contiene archivos adjuntos", MsgBoxStyle.Exclamation, "Aviso")
            Else
                MsgBox("Los archivos fueron descargados en c:\", MsgBoxStyle.Information, "Aviso")
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
        Finally
            If cnconn.State = ConnectionState.Open Then
                cnconn.Close()
            End If
        End Try
    End Sub

    Private Sub DescargarArchivosAdjuntosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DescargarArchivosAdjuntosToolStripMenuItem.Click
        DescargarAdjuntos()
    End Sub

    Private Sub EliminarFilaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarFilaToolStripMenuItem.Click
        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        Dim Id As Integer = BuscarIntDatoCitra("SELECT IdGeneral FROM Cot_Generales WHERE NoCotizacion=" & dgCotizaciones.CurrentRow.Cells(0).Value & " AND IdDocumento=" & IdDocumento)

        Call SetSqlCitra("DELETE FROM COT_GENERALES WHERE IdGeneral=" & Id)
        Call SetSqlCitra("DELETE FROM COT_DETALLE WHERE IdGeneral=" & Id)
        Call SetSqlCitra("DELETE FROM COT_ANEXOS WHERE IdGeneral=" & Id)
        Call SetSqlCitra("UPDATE COT_DOCUMENTOS SET NOCOTIZACIONES=NOCOTIZACIONES-1 WHERE IDDOCUMENTO=" & IdDocumento)


        CargaCotizaciones()

    End Sub

    Private Sub VerArchivosAdjuntoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerArchivosAdjuntoToolStripMenuItem.Click
        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        IdGeneral = BuscarIntDatoCitra("SELECT IdGeneral FROM Cot_Generales WHERE NoCotizacion=" & dgCotizaciones.CurrentRow.Cells(0).Value & " AND IdDocumento=" & IdDocumento)

        Dim ADJUNTOS As Integer = BuscarIntDatoCitra("SELECT COUNT(*) FROM COT_ANEXOS WHERE IdGeneral=" & IdGeneral)
        If ADJUNTOS > 0 Then
            frmVisorAdjuntos.ShowDialog()
        Else
            MsgBox("La cotización seleccionada no tiene archivos adjuntos", MsgBoxStyle.Exclamation, "Aviso")
        End If

    End Sub

    Private Sub SoloCerrarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SoloCerrarToolStripMenuItem.Click
        Dim IdDocumento As Integer = BuscarIntDatoCitra("SELECT IdDocumento FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        Call SetSqlCitra("UPDATE COT_DOCUMENTOS SET PROCESADA=1 WHERE IdDocumento=" & IdDocumento)

        Dim Folio As Integer = BuscarIntDatoCitra("SELECT MAX(Folio) as Folio FROM Cot_Documentos") + 1
        txtFolio.Text = Folio
        
        Documentos.Folio = txtFolio.Text
        Documentos.Fecha = datFecha.Value
        Documentos.NoCotizaciones = 0
        Documentos.Procesada = 0
        Documentos.Concepto = ""
        Documentos.Insertar()

    End Sub

    Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
        If dgCotizaciones.Rows(0).Cells(2).Value = "" Then
            Call SetSqlCitra("DELETE FROM Cot_Documentos WHERE Folio=" & txtFolio.Text)
        End If

        txtFolio.Text = 0

        Dim Folio As Integer = BuscarIntDatoCitra("SELECT MAX(Folio) as Folio FROM Cot_Documentos") + 1
        txtFolio.Text = Folio

        Documentos.Folio = txtFolio.Text
        Documentos.Fecha = datFecha.Value
        Documentos.NoCotizaciones = 0
        Documentos.Procesada = 0
        Documentos.Concepto = ""
        Documentos.Insertar()
    End Sub
End Class